package com.atguigu.gmall.product.service;

import com.atguigu.gmall.model.product.SkuInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface SkuInfoService {
    IPage<SkuInfo> getSkuInfoList(Page<SkuInfo> page);

    void save(SkuInfo skuInfo);

    void onSale(Long skuId);
    void cancelSale(Long skuId);

    /**
     * 获取SkuInfo  除了基本信息,还有图片list  ,用来供给商品详情页渲染数据
     * @param skuId
     * @return
     */
    SkuInfo getSkuInfo(Long skuId);

    BigDecimal getSkuPrice(Long skuId);

    /**
     * {"sale_attr_value_id|sale_attr_value_id":skuId}
     * @param spuId
     * @return
     */
    Map<String,Long> getSkuValueIdsMap(Long spuId);
}
